package cn.jsj.hzu.qm.facecloud.ciuser.service;

import java.util.List;

import cn.jsj.hzu.qm.facecloud.ciuser.vo.VCici;

public interface VCiciService {
	
	
	/**
	 * 查询签到表的行数
	 */
	public int getAllVCiciNum();
	
	/**
	 * 查询某实验室的签到表的行数
	 */
	public int getAllVCiciNum(int labid);

	/**
	 * 读取所有的签到信息
	 */
	public List<VCici> getAllVCicis();
	
	

	/**
	 * 按照limit关键字查询
	 */
	public List<VCici> getAllVCicisByLimit(int start, int length);
	

	/**
	 * 按照页码查询
	 */
	public List<VCici> getAllVCicisByPage(int page, int perpage, int sum);
	
	
	/**
	 * @deprecated
	 * <br>【已经弃用】<br>
	 * 
	 * 各个参数（理论上可以如此，但事实上并没有全部支持）均可参与的【模糊】查询，还带分页功能(limit)<br>
	 * 支持模糊的参数有<br>
	 * userid<br>
	 * cinname<br>
	 * labname<br>
	 * 注意，如果想要模糊，记得加百分号，否则不能模糊！<br>
	 * 
	 * 
	 * */
	/*
	 * 这样设计的理由是，二级管理员需要按实验室查询自己所管理的实验室，
	 * 所以虽使用LIKE,仍允许其精确查询
	 * 当然这样性能会有些许影响
	 * //未来，行将推出“按实验室查询”将实验室单列出来。//已经推出了
	 * */
	public List<VCici> getVCicisByFuzzzyAndLimit(VCici likeVCici, int start, int length);
	
	/**
	 * @deprecated
	 * <br>【已经弃用】<br>
	 * 这个是对于labid有单独选择的，各个参数（理论上可以如此，但事实上并没有全部支持）均可参与的【模糊】查询，带分页功能(limit)<br>
	 * 支持模糊的参数有<br>
	 * userid<br>
	 * cinname<br>
	 * 注意，如果想要模糊，记得加百分号，否则不能模糊！<br>
	 * 
	 * 
	 * */
	public List<VCici> getVCicisByFuzzzyAndLimitWithLabid(VCici likeVCici, int labid, int start, int length);
	
	
	/**
	 * 根据实验室id、和页码查询签到信息
	 * */
	public List<VCici> getAllVCicisByPageAndLabid(int page, int perpage, int sum, int labid);
	
}
